#ifndef __USER_GPIO_H__
#define __USER_GPIO_H__

typedef struct {
    struct {
        bool keyDown;
        bool need_process; // 待处理
        int key_down_time; // 按键按下的时间(ms)
    } key;

    struct {
        bool need_process; // 待处理
        int key_down_time; // 按键按下的时间(ms)
    } touch_pad;

    struct {
        int adc;     // ADC值
        int voltage; // 电压值
        int percent; // 电量百分比
    } battery;
} user_gpio_info_t;
extern user_gpio_info_t user_gpio_info;

void tp_driver_init(void);
bool tp_driver_is_pad_activated(void);
void tp_driver_print_touch_pad_value(void);

void bat_driver_init();
int get_battery_percent();

void input_key_init(void);

void init_module_power(void);
void config_module_power(bool status);

void user_gpio_init(void); 

#endif // __USER_GPIO_H__